The Internet of Things (IOT) is an interconnection communication network between things that is implemented with merging technologies of sensor, computer, communication network and semiconductor. It may be widely applied to various detecting and monitoring fields, such as smart grid, logistics, natural resource monitoring/management, smart city.
For the sake of illustration, FIG. 1 illustrates an exemplary system architecture of IOT in the prior art. As illustrated in FIG. 1, the IOT 100 generally comprises three layers, i.e., a sensing layer 110, a network layer 120, and an application layer 130. The sensing layer 110 is designed to detect, monitor, and sense things and generally comprises various sensors 111, 112, 114, such as sensor, pick-up head, RF tag, and etc. It also comprises actuators 113, 115 such as a switch, or a gate, wherein some devices may also function as a sensor and an actuator simultaneously. A device at the sensing layer 110 is accessed to a wide area network 123 through a sensor network 116, 117 via, for example, an access device 121, 122 in the network layer 120, so as to transmit the sense information via the wide area network 123. The sense information is transmitted to the application layer 130 through the wide area network 123 via the application gateway 124. The application layer 130 may comprise a plurality of applications 131, 132, 133, 134, for storing, mining, processing, and applying the sense information that is transmitted via the network layer. The applications 131, 132, 133, and 134 in the application layer 130 may also provide, based on this information, management information to the actuator in the sensing layer so as to perform various management functions.
In the IOT system, a topic-based publish/subscribe mechanism may be employed. The publish/subscribe is a message-oriented message paradigm; it is used to enable multi-to-multi communication and can implement decoupling between a message publisher and a message receiver. For the sake of illustration, FIG. 2 schematically illustrates a principle architecture of a publish/subscribe mechanism. In FIG. 2, application nodes for different classes of messages are denoted by various symbols such as a diamond, a round, a triangle, an asterisk, etc. As illustrated in FIG. 2, a central node 210 is set between these application nodes. On one hand, an application as a message publisher directly publishes the message that is required by the message publisher itself to publish to the central node 210, with the publish topic being labeled, regardless of who is the receiver of the message. On the other hand, an application, which is the message receiver, subscribes to a message class that is required by the application itself from the central node 210 based on the topic, regardless of who is the message publisher. In such a way, when the central node 210 receives a message, it will push the message to one or more applications that have subscribed to this message class based on the subscription relationship. Thus, with this publish/subscribe mechanism, decoupling or loose coupling may be realized between the publisher and subscriber, which may allow a better scalability and more dynamic network topology. Besides, in this system architecture, the central node 210, for example, may be implemented via a message broker, such as WebSphere Message Broker by IBM™, SQL-Server by Microsoft™, open sourced AcitiveMQ and Mosquitto, and etc.
However, it has been found that there are some problems in applying the publish/subscribe mechanism to the IOT system. As previously mentioned, the sensing layer in the IOT system comprises actuators. An upper-layer application is always required to send some management messages to one or more particular actuators so as to perform a corresponding management operation on the actuator. However, these actuators are usually only some common executing devices, such as a switch, a gate, etc. They are often less intelligent and thus not suitable for a publish/subscribe mechanism where each application has a substantially equal intelligence. On the other hand, these actuators are only some simple executing devices, and it would be unrealistic to design them to have a higher intelligence, because it will significantly increase the system cost. Therefore, during dispensing the downlink management information, such actuators cannot obtain the corresponding management information based on the publish/subscribe mechanism.
In the prior art, in order to solve this problem, a dedicated management channel is designed for the downlink, where like a traditional information transmission technology, the upper-layer application is still required to know the addresses of respective actuators so as to dispense the management information to the corresponding actuators. Thus, in the existing IOT, there are actually two sets of information transmission mechanism, namely, a publish/subscribe mechanism for uplink information transmission and a traditional information transmission mechanism for downlink dispensing management information. Therefore, only the uplink information transmission can advantageously utilize the publish/subscribe mechanism, while unlike the uplink information transmission, the downlink management information transmission cannot realize the decoupling between the message publisher and receiver. Additionally, existence of the two mechanisms further brings about multiple problems in aspects of cost, management, maintenance and etc.